The fundamental principle behind Peer-to-Peer (P2P) network architectures is that the application server functions offered by the network are implemented by a large number of distributed and autonomous network nodes and end nodes called peers, which collaborate with each other to accomplish the designated tasks. This P2P arrangement is in stark contrast with the traditional client-server architecture (e.g., public switched telephone network (PSTN), IP multimedia subsystem (IMS)) in which a large number of clients communicate only with a small number of centralized, tightly managed servers responsible for performing designated tasks.
In the P2P-based network architecture, each peer provides server-like functionality and services as well as being a client within the system. In this way, the services or resources that would be provided by a centralized entity are instead available from the peers of the system.